1. Field of the Invention
The present invention relates to a character generating method and apparatus for generating character patterns, which arrange a plurality of partial patterns constituting a character to each start point to generate the associated character pattern.
2. Description of the Related Art
Character patterns are widely used in apparatuses which display and/or print characters. Those apparatuses have character patterns stored therein, generate character patterns corresponding to character codes and display or print the patterns. The character patterns are typically bit-mapped when stored. For Kanji characters or the like which include many characters, the bit-mapping of the individual character patterns increases the memory capacity, so that a method of storing characters of an outline (contour line) format is becoming popular.
This outline system is advantageous over the bit-mapping system in data compression. Even this outline system inevitably needs an increased memory capacity in order to meet the recent demand of accomplishing a greater number of characters and multi-typefaces.
As shown in FIG. 1A, a Kanji character "Mori" is broken down to three partial patterns or elements 1, 2 and 3, each having a continuous shape of a character pattern. A Kanji character "Kuri," shown on the left-hand side in FIG. 1B, is broken down to two elements 1 and 2. Further, a Kanji character "Kin," shown on the right-hand side in FIG. 1B, is broken down to three elements 1, 2 and 3.
As apparent from those diagrams, the upper element "Ki" (element 1) of the Kanji character "Mori" in FIG. 1A has the same shape as the lower element "Ki" (element 1) of the Kanji character "Kuri" in FIG. 1B. The lower two elements "Ki" (elements 2 and 3) of the Kanji character "Mori" in FIG. 1A have the same shape as the upper two elements "Ki" (elements 1 and 2) of the Kanji character "Kin" in FIG. 1B.
Therefore, those Kanji characters can share the shapes of some elements. In other words, the shape of one element can be used in a plurality of Kanji characters to reduce the amount of data needed to store Kanji characters.
As shown in FIG. 2A, the element "Ki" (element 1) of the Kanji character "Mori" can be broken down to strokes 1, 2, 3 and 4, such as a horizontal stroke "-" drawn in one stroke. This stroke segmentation system, which accomplishes the common use of such strokes in a character, can allow strokes or partial patterns to be shared by a plurality of characters. The stroke 1 can further be broken down to parts 1, 2 and 3 (left end, center part and right end) as shown in FIG. 2B. This part segmentation system, which accomplishes the common use of such parts in a character, can permit such parts to be used by a plurality of characters.
This system of dividing a character into a plurality of parts and allowing such parts to be shared by a plurality of characters is disclosed in, for example, Japanese Unexamined Patent Publication No. sho 64-75260. This method requires the positions of the start points of parts (strokes) for each character. With the absolute coordinate origin p of the body of a character taken at the lower left corner, the position of the start point (hereinafter simply referred to as "start position") of each partial pattern is represented by an offset (start vector a) to the start point of that partial pattern from the origin, as shown in FIG. 3. The start vector is indicated by X and Y coordinates from the origin set as (0, 0). For a character having a body size of 1024.times.1024, the X and Y coordinates each require data of two bytes, a total of four bytes.
This will be described with reference to the case of dividing the Kanji character "Mori" in FIG. 2A and the Kanji character "Kuri" in FIG. 2B into strokes. As shown in FIG. 4, to permit the contour data of individual strokes A, B, C and D of one element "Ki" to be shared by both Kanji characters "Mori" and "Kuri," the start positions Ax1 to Dx1 and Ay1 to Dy1 of the individual strokes A, B, C and D for the Kanji character "Mori" requires 16 bytes while the start positions Ax2 to Dx2 and Ay2 to Dy2 of those strokes A, B, C and D for the Kanji character "Kuri" requires 16 bytes. Therefore, the data of the start positions requires a total of 32 bytes to allow the stokes of the element "Ki" to be shared by both Kanji characters "Mori" and "Kuri."
Recently, high resolution (e.g., 300 dpi) is demanded, and larger body sizes are required to express characters clearer while meeting the demand for multi-typefaces. For example, the character coordinate system for characters is set equal to or greater than 256.times.256 dots, and there are demands for multi-typefaces and a larger number of characters. The prior art therefore raises the following problems.
According to the system of expressing the start position of each partial pattern from the position of the origin (hereinafter referred to as "origin position") by character coordinate system, the coordinate data of the start position of each partial pattern always needs four bytes. Like the stroke segmentation system and the part segmentation system, therefore, as the number of partial patterns increases, the amount of data of the start positions increases while the reduction of the amount of data is limited. The number of start points increases in the stroke segmentation system and the part segmentation system and the amount of data will not be reduced desirably, unlike in the system which does not divide a character pattern into parts, unless the sharing ratio of partial patterns is high.